﻿namespace Blip.API
{
    /// <summary>
    /// Klasa-fabryka, tworząca obiekty implementujące interfejs <see cref="IBlipAPI"/>.
    /// </summary>
    /// <seealso cref="IBlipFactory"/>
    public class BlipFactory : IBlipFactory
    {
        /// <summary>
        /// Tworzy obiekt do komunikacji nie wymagającej uwierzytelnienia.
        /// </summary>
        /// <returns>Obiekt implementujący interfejs <see cref="IBlipAPI"/></returns>
        public virtual IBlipAPI Create()
        {
            return new BlipAPI();
        }

        /// <summary>
        /// Tworzy obiekt do zapytań wymagających uwierzytelnienia.
        /// </summary>
        /// <param name="username">Nazwa użytkownika serwisu Blip</param>
        /// <param name="password">Hasło powiązane z kontem</param>
        /// <returns>Obiekt implementujący interfejs <see cref="IBlipAPI"/></returns>
        public virtual IBlipAPI Create(string username, string password)
        {
            return new BlipAPI(username, password);
        }
    }
}
